#include "Class/Manager/Input.hpp"

namespace		Manager
{
  Input::Input(Manager::Graphics &g)
	:	AManager(false),
		_Graphics(g),
		_keyTime(),
		_keyState(),
		_mouseTime(),
		_mouseState(),
		_mousePos(),
		_mouseDelta(0)
  {
	int unsigned		kc = ::Input::Key::Count, mc = ::Input::Mouse::ButtonCount;

	for (int unsigned i = 0 ; i != kc ; ++i)
	  {
		this->_keyTime[i] = .0f;
		this->_keyState[i] = ::Input::NotPressed;
	  }

	for (int unsigned i = 0 ; i != mc ; ++i)
	  {
		this->_mouseTime[i] = .0f;
		this->_mouseState[i] = ::Input::NotPressed;
	  }

	for (int unsigned i = 0 ; i != ::Math::Dimension2 ; ++i)
	  this->_mousePos[i] = 0;

	this->_isValid = this->_Graphics.IsValid();
  }


  Input::~Input() throw()
  {
  }
}
